// 当前登录的管理员信息 暂未使用
import { defineStore } from 'pinia'
import emitter from '../utils/eventBus';
import ManagerCode from '../constants/ManagerCode'
// import Token from '@/store/token.js'
import managerApi from '@/api/manager';

// ? 也可以不引入 token
// const tokenStore = Token();

// 监听token
// emitter.on('TOKEN_SET', (eventData)=>{

    // console.log('listen TOKEN_SET emit',eventData)
    // if(eventData.token){
    //     managerInfo.refresh();
    // }else{
    //     managerInfo.flush();
    // }

// })

const initInfo = ()=>{


    return {
        id : '',
        account : '',
        nickname : '',
        is_root : ManagerCode.IS_NOT_ROOT,
        role_ids : [],
        power : {}
        // 菜单权限
    }
}
export const managerInfo = defineStore('managerInfo',{
    state : initInfo ,
    
    actions : {
        refresh(){
            // tokenStore.getToken().then(()=>{
                managerApi.currManagerInfo({
                    with_route : '1'
                })
                .then(apiRes=>{
                    let {info, power} = apiRes.data;
                    info.power = power;
                    this.$patch(info)
                })
            // })
        },
        flush(){
            this.$patch(initInfo())
        }
    }
})
export default managerInfo